/**
 * 
 */
package masml2jade.agents;

import java.util.ArrayList;
import java.util.List;

import masml2jade.AgentRole;
import masml2jade.Condition;
import masml2jade.Environment;
import masml2jade.agents.MAS_Agent;

import jade.core.Agent;

/**
 * @author Administrator
 * 
 */
public abstract class ReflexAgent extends MAS_Agent {

	// Perceive List
	protected List<String> perceives = new ArrayList<String>();

	// Precondition List
	protected List<Condition> preconditionList = new ArrayList<Condition>();
	
	protected ReflexAgent(Environment environment, AgentRole agentRole) {
		super(environment, agentRole);
		initialize();
	}

	// Put agent initializations here
	protected void setup() {
		super.setup();

		// Papel de agente
		// Agente Reativo simples, possui somente comportamento

	}

	// Put agent clean-up operations here
	protected void takeDown() {

	}

	protected abstract void initialize() ;
}
